package com.woniuxy.carlife.service;

import com.woniuxy.carlife.domain.ServiceGood;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.carlife.param.ServiceGoodParam;
import com.woniuxy.carlife.param.ServiceGoodPicParam;
import com.woniuxy.carlife.param.ServiceGoodPriceParam;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * @author fx
 * @ClassName:ServiceGoodService
 * @Description: 保养商品service接口
 * @date 2021/4/6 20:00
 **/

public interface ServiceGoodService extends IService<ServiceGood> {

    /**
     * 功能描述〈添加保养商品〉
     * @author:fx
     * @param: @param null:
     * @return:
     * @Date 2021/4/12 10:04
     * @throws
     */
    int saveServiceGood(ServiceGoodParam serviceGood) throws IOException;

    /**
     * 功能描述〈根据门店id查询所有商品〉
     * @author:fx
     * @param: @param null:
     * @return:
     * @Date 2021/4/12 10:19
     * @throws
     */
    List<ServiceGood> findfindServiceGoodByStoreId(Integer storeId);

    /**
     * 功能描述〈根据门店id查询所有上架商品〉
     * @author:fx
     * @param: @param null:
     * @return:
     * @Date 2021/4/12 10:20
     * @throws
     */
    List<ServiceGood> findServiceGoodByStatusAndStoreId(Integer storeId);

    /**
     * 功能描述〈根据商品id修改状态为下架〉
     * @author:fx
     * @param: @param null:
     * @return:
     * @Date 2021/4/12 10:50
     * @throws
     */
    boolean updateServiceGoodStatusToDown(Integer goodId);

    /**
     * 功能描述〈根据商品id修改商品价格〉
     * @author:fx
     * @param: @param null:
     * @return:
     * @Date 2021/4/12 10:54
     * @throws
     */
    boolean updateServiceGoodPriceByGoodId(ServiceGoodPriceParam goodParam);

    /**
     * 功能描述〈上传商品图片〉
     * @author:fx
     * @param: @param null:
     * @return:
     * @Date 2021/4/13 3:40
     * @throws
     */
    String saveServiceGoodPic(MultipartFile pic) throws IOException;

    /**
     * 功能描述〈根据商品id和图片地址修改商品图片〉
     * @author:fx
     * @param: @param null:
     * @return:
     * @Date 2021/4/14 16:00
     * @throws
     */
    boolean updateServiceGoodPicByGoodId(ServiceGoodPicParam goodPicParam);
}
